System and method for the serving of extended bit depth high resolution images

ABSTRACT

A novel and useful system and method for the serving and display of extended bit depth (EBD) high resolution images on a web browser using multimedia platform code or code for a graphics framework. To display an EBD image, such as an x-ray or MRI image set, on a web browser, the image data is mapped into a plurality of channels of pixels of a color image which a web browser is able to handle, where each channel holds a portion of the full dynamic range of the original EBD image. At the client, a color transform is applied to the color image data which takes into account the user&#39;s desired VOI settings. The resulting display image has the exact values as if the VOI was applied to the original EBD image and is dynamically mapped to the display capabilities of the client viewing framework thus enabling a reviewer to detect any available details of the image.

REFERENCE TO PRIORITY APPLICATION

This application claims priority to U.S. Provisional Application Ser.No. 61/193,310, filed Nov. 17, 2008, entitled “Apparatus and methods fordelivery and display of high-resolution grayscale images,” incorporatedherein by reference in its entirety.

FIELD OF THE DISCLOSURE

The subject matter disclosed herein relates to the field of digitalimaging, and more particularly relates to a mechanism for serving anddisplaying extended bit depth images.

BACKGROUND OF THE DISCLOSURE

Medical imaging encompasses the techniques and processes used to createimages of the human body for clinical or other medical science purposes.An array of medical imaging technologies are currently in use today.Examples include x-rays and other radiation techniques includingcomputed tomography (CT) scanning, ultrasound, nuclear medicine,positron emission tomography (PET) and magnetic resonance imaging (MRI).Radiographs generated by projection radiography are produced by thetransmission of x-rays through a patient to a capture device followed byconversion into an image for diagnosis. The original and still commonimaging produces silver impregnated photographic films.

Today, however, in many fields of medicine traditional film radiographsare being replaced by digital radiology technology. In digitalradiography, digital x-ray sensors are used instead of traditionalphotographic film. In place of x-ray film, a digital image capturedevice is used to record the x-ray image and make it available as adigital file that can be presented for review and interpretation.Advantages include time efficiency where the image preview is availableimmediately by bypassing chemical processing, images having a widerdynamic range making it more forgiving for over- and under-exposure aswell as the ability to apply special image processing techniques thatenhance overall display of the image and the ability to digitallytransfer and enhance images. In addition, less radiation can be used toproduce an image of similar contrast to conventional radiography.Further, a motivator for healthcare facilities to adopt digitalradiography is its potential to reduce costs associated with processing,managing and storing films. Thus, the use of digital radiography islikely to grow significantly in the future.

BRIEF DESCRIPTION OF THE DISCLOSURE

There is thus provided a method of encoding an extended bit depth (EBD)image, the method comprising receiving EBD image data and mapping theEBD image data into a plurality of channels of pixels of a multi-channelimage.

There is also provided a method of encoding an extended bit depth (EBD)image, the method comprising receiving EBD image data having a bit depthgreater than 8-bits and mapping the EBD image data into a plurality of8-bit channels of pixels of a multi-channel image, the multi-channelimage having a bit depth greater than that of the EBD image.

There is further provided a method of serving extended bit depth (EBD)images to one or more clients, the method comprising retrieving the EBDimage data from storage, transmitting the EBD image data to the clientand wherein the bit depth of the EBD image is greater than that of achannel of the client.

There is also provided a method of serving extended bit depth (EBD)images to one or more clients, the method comprising transmittingmulti-channel image data corresponding to the EBD image data, the EBDimage data mapped into a plurality of channels of pixels of themulti-channel image.

There is further provided a server for serving extended bit depth imagesto one or more clients comprising a storage system for storingmulti-channel images, each multi-channel image generated by mappingcorresponding EBD image data into a plurality of channels of amulti-channel image, a network interface operative to connect the serverto a network, a server comprising a memory including a program thatreceives requests for EBD images from clients, that retrievesmulti-channel images corresponding to the requested EBD images from thestorage system, and that transmits the multi-channel images over thenetwork to the requesting client and a processor for executing theprogram.

There is also provided a server for serving extended bit depth images toone or more clients comprising a storage system for storingmulti-channel images, each multi-channel image generated by mappingcorresponding EBD image data into a plurality of channels of amulti-channel image, a server operative to retrieve a multi-channelimage corresponding to the EBD image from the storage system andtransmit the multi-channel image to the client.

There is further provided a computer program product characterized bythat upon loading it into computer memory a method of serving extendedbit depth (EBD) images to one or more clients is executed, the computerprogram product comprising a computer usable medium having computerusable program code embodied therewith, the computer usable program codecomprising computer code configured to retrieve multi-channel image datacorresponding to the EBD image data from storage, the EBD image datamapped a priori into a plurality of channels of the multi-channel imageand computer usable code configured to transmit the multi-channel imagedata to the requesting client.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is herein described, by way of example only, withreference to the accompanying drawings, wherein:

FIG. 1 is a block diagram illustrating an example client server systemfor the serving and display of extended bit depth (EBD) images;

FIG. 2 is a block diagram illustrating an example computer processingsystem for implementing the EBD image server and display mechanism;

FIG. 3 is a simplified block diagram illustrating an example mobilecommunication device incorporating the EBD image display mechanism;

FIG. 4 is an example graph illustrating the values of interest (VOI)transformation;

FIG. 5 is a diagram illustrating the mapping of a 12-bit pixel of an EBDgrayscale image to the channels of a color pixel;

FIG. 6 is a diagram illustrating the mapping of a 16-bit pixel of an EBDgrayscale image to the channels of a color pixel;

FIG. 7 is a diagram illustrating the mapping of a 24-bit pixel of an EBDgrayscale image to the channels of a color pixel;

FIG. 8 is a diagram illustrating the mapping of an EBD grayscale imageto two grayscale images;

FIG. 9 is a flow diagram illustrating an example EBD image encoding anddisplay method;

FIG. 10 is a flow diagram illustrating an example EBD image encodingmethod;

FIG. 11 is a flow diagram illustrating an example serving method;

FIG. 12 is a flow diagram illustrating a first example color imagedisplay method;

FIG. 13 is a flow diagram illustrating a second example color imagedisplay method; and

FIG. 14 is a graph illustrating the operation of the VOI controls C andW.

DETAILED DESCRIPTION OF THE DISCLOSURE Notation Used Throughout

The following notation is used throughout this document:

Term Definition ASIC Application Specific Integrated Circuit CDROMCompact Disc Read Only Memory CMYK Cyan, Magenta, Yellow, Black CPUCentral Processing Unit CT Computed Tomography DICOM Digital Imaging andCommunications in Medicine DSP Digital Signal Processor DVD DigitalVersatile Disc EBD Extended Bit Depth EPROM Erasable ProgrammableRead-Only Memory FPGA Field Programmable Gate Array FTP File TransferProtocol GDI Graphics Device Interface GDK GIMP Drawing Kit GPU GraphicsProcessing Unit HTTP Hyper-Text Transport Protocol IP Internet ProtocolJPEG Joint Photographic Experts Group LAN Local Area Network LUT LookupTable MAC Media Access Control MAN Metropolitan Area Network MRIMagnetic Resonance Imaging NIC Network Interface Card OS OperatingSystem PC Personal Computer PDA Personal Digital Assistant PET PositronEmission Tomography PNA Personal Navigation Assistant PNG PortableNetwork Graphics RAM Random Access Memory RF Radio Frequency RGB Red,Green, Blue RGBA Red, Green, Blue, Alpha ROI Region of Interest ROM ReadOnly Memory RUIM Removable User Identity Module SAN Storage Area NetworkSIM Subscriber Identity Module SMTP Simple Mail Transfer Protocol TCPTransmission Control Protocol VOI Values of Interest WAN Wide AreaNetwork WC Window Center WW Window Width WWAN Wireless Wide Area Network

DETAILED DESCRIPTION

A novel and useful system and method for the serving and display ofextended bit depth (EBD) high resolution images on a web browser usingmultimedia platform code or code for a graphics framework. To display anEBD image, such as a grayscale x-ray or MRI image set, on a web browser,the mechanism serves image data. The color image data comprises EBDimage data mapped to a plurality of color channels of pixels of a colorimage, where each color channel holds a portion of the full dynamicrange of the EBD image. On the client end, a transform is applied to thecolor image data which takes into account the user's desired VOIsettings. The resulting display image has the exact values as if the VOIwas applied to the original EBD image and is dynamically mapped to thedisplay capabilities of the client viewing framework thus enabling areviewer to detect any available details of the image.

Client/Server System

A block diagram illustrating a client server system for the serving anddisplay of grayscale extended bit depth (EBD) images is shown in FIG. 1.The system, generally referenced 10, comprises a server 12 incommunication with a plurality of clients 24 over an IP based network22. The server 12 comprises a server process 16 in communication withstorage 14. The server process and storage may be implemented in anysuitable manner such as, dedicated computer servers (e.g., file server,web server, etc.) and attached storage, cloud computing where the serverand storage functions are implemented as scalable and virtualizedresources. Regardless of the implementation, the function of the serveris to serve data, files, images, etc. to the client in response torequests. The client 24 may comprise a computer (handheld, PC, etc.)running a multimedia platform enhanced web browser or a graphicsframework based application.

The IP network 22 may comprise any suitable communications means such asthe Internet and the World Wide Web (WWW), Intranet, wide area network(WAN), local area network (LAN), wireless wide area network (WWAN),storage area network (SAN), a metro area network (MAN), etc. The server16, storage 14 and client 24 communicate with each other using anysuitable language/protocol such as SMTP, HTTP, TCP/IP, etc. Those havingordinary skill in the art will recognize that any of a variety ofcommunication networks and protocols may be used to implement the EBDimage server and delivery mechanism.

The storage 14 is operative to store EBD grayscale images, for example,x-ray or MRI images, at an extended bit depth that exceeds that of whata browser is able to handle. For example, the EBD may comprise 12-bits,16-bits, 24-bits, or more, while the available bit depth of the webbrowser is usually 8-bits. In addition, in one embodiment, the storageis operative to store color images generated by the server. The servermaps the EBD image data into the plurality of channels of color pixelsto generate the color image to facilitate both transport of the image tothe client and the application of a color transform on the client.Clients (or nodes) 24 are connected to the network 22 and, depending onthe embodiment, are operative to request either EBD images or colorimages from the server using a web browser with a multimedia platformextension installed therein.

A user is capable of not only viewing the EBD image but also dynamicallysetting one or more viewing parameters, that can be set for example, bythe user adjusting the window leveling setting, selecting presets oreven by algorithms for automatic window leveling, and is presented theimportant information from the original EBD data as embodied in theuser's viewing parameters (e.g., values of interest (VOI)) in accordancewith the mechanism described in more detail infra.

In an example embodiment, the viewer (i.e. web browser) used on theclient side comprises a multimedia platform extension and uses itsdisplay capabilities to reach the desired effect of reviewing an EBDgrayscale image. It is noted that while the system is described hereinas a system having a client/server architecture, the mechanism is notlimited thereto. Specifically, standalone systems are also contemplated.In an example embodiment, the storage 14 on the server is replaced by adata file available in a folder, local memory, local storage, etc. ofthe client. In this case, the server process implements file serverfunctionality and is operative to transfer files, images, etc. to theclient in response to requests received over the network. The data filebeing provided to the client either by delivery over a network (eitheras an EBD or color image) or by means of tangible media readable by sucha system, including but not limited to, memory sticks, thumb drives,compact disks (CDs), DVD disks, etc. Other ways of providing the imagedata to the client are also possible and are contemplated by thisdisclosure.

In one embodiment, the client 24 comprises a personal computer (e.g.,MAC, PC, Linux based, iPhone, etc) operating with an Intel or AMDmicroprocessor or other microprocessor, for example. The client includesa cache and suitable storage device, such as a high-capacity disk,CDROM, DVD, flash memory, and/or other solid state memory, etc. Inanother embodiment, the client is a handheld computer such as asmartphone, PDA, etc.

Note that the web browser on the client may comprise any suitablebrowser such as Mozilla Firefox, Apple Safari, Microsoft InternetExplorer, Google Chrome, Opera, etc. The server communicates with theweb browser in the client over the network 22 and is operative toreceive EBD or color image data stored in storage 14 or provided to theclient using any other suitable means.

Computer Processing System

As will be appreciated by one skilled in the art, the EBD image serverand delivery mechanism may be embodied as a system, method, computerprogram product or any combination thereof. Accordingly, the mechanismmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, the mechanism may take the form of a computerprogram product embodied in any tangible medium of expression havingcomputer usable program code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM), a Flashmemory, an optical fiber, a portable compact disc read-only memory(CDROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the mechanism maybe written in any combination of one or more programming languages,including an object oriented programming language such as Java,Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or a scripting languagesuch as JavaScript, a machine level language such as Assembler, otherprogramming languages or code written for any suitable multimediaplatform or graphics framework. The program code may execute entirely onthe user's computer, partly on the user's computer, on a GPU within theuser's computer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

The mechanism is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the mechanism. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

A block diagram illustrating an example computer processing system forimplementing the EBD image server and delivery mechanism is shown inFIG. 2. The computer system, generally referenced 40, comprises aprocessor 42 which may comprise one or more of: a digital signalprocessor (DSP), central processing unit (CPU), microcontroller,microprocessor, microcomputer, ASIC or FPGA core or other computersystem implementations. The system may also comprise static read onlymemory 48 and dynamic main memory 50 all in communication with theprocessor. The processor is also in communication, via bus 44, with anumber of peripheral devices that are also included in the computersystem. Peripheral devices coupled to the bus include a display device58 (e.g., monitor), alpha-numeric input device 60 (e.g., keyboard) andpointing device 62 (e.g., mouse, tablet, etc.)

The computer system communicates with a server 54 over one or moreexternal networks such as IP network 56 (e.g., LAN/WAN/SAN) overcommunication lines connected to the system through a data I/Ocommunications interface 52 (e.g., network interface card or NIC). Thenetwork adapters 52 coupled to the system enable the data processingsystem to become coupled to other data processing systems or remoteprinters or storage devices through intervening private or publicnetworks. Modems, cable modem and Ethernet cards are just a few of thecurrently available types of network adapters. The system also comprisesmagnetic or semiconductor based storage device or other type of storage64 for storing application programs and data. The system comprisescomputer readable storage medium that may include any suitable memorymeans, including but not limited to, magnetic storage, optical storage,semiconductor volatile or non-volatile memory, biological memorydevices, or any other memory storage device.

Software adapted to implement the EBD image server and deliverymechanism resides on a computer readable medium, such as a magnetic diskwithin a disk drive unit or other storage device. Alternatively, thecomputer readable medium may comprise a floppy disk, removable harddisk, Flash memory 46, EEROM based memory, bubble memory storage, ROMstorage, distribution media, intermediate storage media, executionmemory of a computer, and any other medium or device capable of storingfor later reading by a computer a computer program implementing themechanism of this invention. The software adapted to implement the EBDimage server and delivery mechanism may also reside, in whole or inpart, in the static or dynamic main memories or in firmware within theprocessor of the computer system (i.e. within microcontroller,microprocessor or microcomputer internal memory).

Other digital computer system configurations can also be employed toimplement the EBD image server and delivery mechanism, and to the extentthat a particular system configuration is capable of implementing thesystem and methods of this mechanism, it is equivalent to therepresentative digital computer system of FIG. 2 and within the spiritand scope of this mechanism.

Once they are programmed to perform particular functions pursuant toinstructions from program software that implements the system andmethods of this mechanism, such digital computer systems in effectbecome special purpose computers particular to the mechanism. Thetechniques necessary for this are well-known to those skilled in the artof computer systems.

It is noted that computer programs implementing the system and methodsof this mechanism will commonly be distributed to users on adistribution medium such as floppy disk or CDROM or may be downloadedover a network such as the Internet using FTP, HTTP, or other suitableprotocols. From there, they will often be copied to a hard disk or anintermediate storage medium. When the programs are to be run, they willoften be loaded either from their distribution medium or theirintermediate storage medium into the execution memory of the computer,configuring the computer to act in accordance with the method of thisinvention. All these operations are well-known to those skilled in theart of computer systems.

Alternatively, in the case of modern web computing, the data (e.g.,image data) and code embodying the client portion of the mechanism(e.g., code to implement the color transform, described in more detailinfra) are coupled together, stored on the server and downloaded by theclient framework on demand when required. An example of this is the Web2.0 programming paradigm Ajax, a popular web development technique usedon the client-side to create interactive web applications. This appliessimilarly to HTML, JavaScript, ActionScript and other multimediaplatform programming languages.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the mechanism. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or by combinationsof special purpose hardware and computer instructions.

Mobile Communications Device Embodiment

A block diagram illustrating an example mobile communication deviceincorporating the EBD image display mechanism is shown in FIG. 3. Themobile communication device is preferably a two-way communication devicehaving voice and data communication capabilities. In addition, thedevice optionally has the capability to communicate with other computersystems via the Internet. Note that the mobile communications device (ormobile device) may comprise any suitable wired or wireless device suchas multimedia player, mobile communication device, cellular phone,smartphone, Personal Digital Assistant (PDA), Personal NavigationAssistant (PNA), Bluetooth enabled device, handheld device, etc. Forillustration purposes only, the device is shown as a mobile device, suchas a cellular based smartphone. Note that this example is not intendedto limit the scope of the mechanism as it can be implemented in a widevariety of communication devices. It is further appreciated the mobiledevice 70 shown is intentionally simplified to illustrate only certaincomponents, as the mobile device may comprise other components andsubsystems 116 beyond those shown.

The mobile device, generally referenced 70, comprises a processor 98which may comprise a baseband processor, CPU, microprocessor, DSP, etc.,optionally having both analog and digital portions. The mobile devicemay comprise a plurality of radios 76 and associated antennas 78. Radiosfor the basic cellular link and any number of other wireless standardsand Radio Access Technologies (RATs) may be included. Examples include,but are not limited to, Global System for Mobile Communication(GSM)/GPRS/EDGE 3G; WCDMA; WiMAX for providing WiMAX wirelessconnectivity when within the range of a WiMAX wireless network;Bluetooth for providing Bluetooth wireless connectivity when within therange of a Bluetooth wireless network; WLAN for providing wirelessconnectivity when in a hot spot or within the range of an ad hoc,infrastructure or mesh based wireless LAN (WLAN) network; near fieldcommunications; UWB; GPS receiver for receiving GPS radio signalstransmitted from one or more orbiting GPS satellites, FM transceiverprovides the user the ability to listen to FM broadcasts as well as theability to transmit audio over an unused FM station at low power, suchas for playback over a car or home stereo system having an FM receiver,digital broadcast television, etc. The mobile device also comprisesprotocol stacks 90, which may or may not be entirely or partiallyimplemented in the processor 98. The protocol stacks implemented willdepend on the particular wireless protocols required.

The mobile device may also comprise internal volatile storage 84 (e.g.,RAM) and persistence storage 80 (e.g., ROM) and Flash memory 82 andother forms of memory. Persistent storage 80 also stores applicationsexecutable by processor 98 including the related data files used bythose applications to allow device 70 to perform its intended functions.Several user-interface devices may include a pointing device (e.g.,trackball, touch pad, etc.) 100 used for navigation, selection of menuchoices and confirmation of action, keypad/keyboard 102 such as arrangedin QWERTY fashion for entering alphanumeric data and a numeric keypadfor entering dialing digits and for other controls and inputs (thekeyboard may also contain symbol, function and command keys such as aphone send/end key, a menu key and an escape key), microphone(s) 108,speaker(s) 106 and associated audio codec or other multimedia codecs,signaling device (not shown) for alerting a user, camera and relatedcircuitry 112, display(s) 110 and associated display controller. Aserial/USB or other interface connection 104 (e.g., SPI, SDIO, PCI, USD,etc.) provides a serial link to a user's PC or other device. SIM/RUIMcard 96 provides the interface to a user's Subscriber Identity Module(SIM) or Removable User Identity Module (RUIM) card for storing userdata such as address book entries, user identification, etc.

Portable power is provided by the battery 94 coupled to power managementcircuitry 92. External power is provided via USB power 74 or an AC/DCadapter 72 connected to the power management circuitry 92 which isoperative to manage the charging and discharging of the battery 94.

The mobile communications device is also adapted to implement the EBDimage display mechanism. The EBD image display mechanism may beimplemented as code written in the language of a multimedia platform andadapted to run within the web browser 87 running as a task in theoperating system of the device 70. Alternatively, the mechanism can beimplemented as a standalone application written in the language of agraphics framework, as a task stored in external memory executed by theprocessor 98, or implemented as a task 88 executed from memory embeddedin the processor 98. Note that the mechanism may be implemented ashardware, software or as a combination of hardware and software.Implemented as a software task, the program code operative to implementthe mechanism is stored in one or more memories 80, 82, 84, localmemories within the processor 98, downloaded from a server or othersuitable means.

Extended Bit Depth (EBD) Image Server and Display

Currently, the images generated by digital radiography, whether fromx-rays, digital mammography, magnetic resonance imaging (MRI), or othertypes of medical image sets, are made up of pixels having bit depths ofeight or more bits per pixel, e.g., 16-bits, etc. Extended bit depths of12-bits per pixel or more are commonly used in order to providesufficient dynamic range to allow a reviewer to detect and diagnose finedetails of the image data. To accomplish this, the system used to viewthe images must be capable of displaying the details of the range ofdata in the image in a detectable fashion, i.e. shades (or grayscale) ofmore than 8-bits per pixel. Note that virtually all medical imagingdevices, such as imaging modalities, workstations and archive systemsuse the Digital Imaging and Communications in Medicine (DICOM) standardto store and communicate these images.

The hardware and software of most computer systems, however, arenormally capable of handling and viewing images with pixels having nomore than 8-bits of data per color channel and most software (operatingsystem, browser, etc.) is designed to only support such images.

Another trend in recent years is the ubiquity of Internet access whichis currently growing at a high rate. Data is provided on web sites forsecure or open access, allowing the secure access of medicalinformation. The increase of available transmission bandwidth furtherenables sending images over the network and allows a remote client toview images stored on a server. The popularity of the world wide webcreated a generation of web browsing software and browsing enhancingtools. These tools are very popular and in widespread use worldwide.Applied to medical image data, however, they suffer from the problem ofnot being designed to display images having an extended bit depth ofmore than 8-bits (i.e. the bit depth of the client framework). As aresult, the use of medical image data in web based applications isconfined to low accuracy representations using low bit-depth images,e.g., browser based, which are typically compressed to 8-bits/channelbased JPEGs, PNGs, etc.

In one embodiment, the EBD image server and display mechanism isoperative to display an extended bit-depth image on a browser running amultimedia platform such as, Adobe Macromedia Flash, MicrosoftSilverlight, Java, etc. Alternatively, the EBD image display mechanismis implemented using a graphics framework such as (1) an OS multimediaAPI such as DirectX (Windows), Quartz (Mac), etc. or (2) an OS graphicinterface such as GDI (Windows), QuickDraw (Mac), GDK (Linux), OpenGL,OpenMAX, etc.

Normally, such browsers, multimedia platforms and graphics frameworksare not capable of handling images having more than 8-bits per channeland thus are only capable of displaying a portion of the full dynamicrange of high resolution images. Since the full dynamic range of suchimages is larger than the available color channel bit-depth, the imagequality is significantly reduced and the ability to perform delicatefunctions such as diagnosing from an x-ray is greatly jeopardized. Forexample, if the image is a grayscale image and full bit-depth of thehigh resolution images is 12-bits or 16-bits, such as is frequentlyfound in medical images, the available single color channel onlyprovides an 8-bit depth for grayscale thereby limiting therepresentation of the image on the display. The image may be local tothe system displaying the image or delivered from a remote location ordevice.

Note that throughout this document, the term client framework isintended to refer to the combination of computer hardware, and/oroperating system, and/or browser, and/or multimedia platform, and/orgraphics frameworks configured to receive, and/or process, and/ortransform and/or display image data. The term client framework isapplicable to not only a computer such as a PC, but also to a handheld,laptop, PDA, smartphone, or any device capable of receiving image data,applying a color transform and displaying the resulting image.

The term channel is intended to refer to a certain component of animage. A 24-bit RGB image pixel typically has three channels: red, greenand blue, each 8-bits. A 32-bit CMYK image pixel typically has fourchannels: cyan, magenta, yellow and black, each 8-bits. Pixel data mayinclude an additional channel referred as an alpha channel which storestransparency information. Note that some devices comprise displayshaving 16-bits of color depth (not 24-bits). In such devices, the colorchannels are typically 5-bits per channel or for RGB: 5-bits for red,5-bits for green and 6-bits for blue. High-End handheld devicesincluding the latest smartphones incorporate 24-bit displays.

The term extended bit depth (EBD) image is defined as an image having achannel bit depth greater than what the client framework can handle. Inother words, an EBD image represents a number of gray levels greaterthan what can be handled by the client framework. For example, typicalclient frameworks can handle 256 levels of gray whereas a typicalradiology image contains far more levels of gray (e.g., 4096). Forexample, client frameworks commonly handle 24 or 32-bit color imageshaving three or four channels of 8-bits per channel. In this case, anEBD image is any image having a channel bit depth greater than 8-bits.Note that typically, an EBD image comprises a single channel (i.e.grayscale image), however, the mechanism is applicable to EBD images ofmultiple channels as well. Examples of EBD images include highresolution grayscale medical images having a single channel of 12-bitsor 16-bits per pixel. Note that although the example client frameworkbit depth of 8-bits is used to illustrate the principles of themechanism, the mechanism is applicable to client frameworks having bitdepths other than 8-bits, e.g., 5, 6, 7, 10-bits, etc.

The term multi-channel image is defined as an image having a pluralityof channels. An example of a multi-channel image is a color image havingthree 8-bit channels of red, green, blue. Note that references to colorimage and color image data denote a multi-channel image or multi-channelimage data, respectively.

A graph illustrating the conversion of an EBD grayscale image to adisplay bit depth that is lower than that of the EBD image is shown inFIG. 4. Such a conversion is commonly referred to as a Values ofInterest (VOI) Lookup Table (LUT) transformation (or simply VOItransformation or VOI). Such a transformation is needed in order to viewimportant details of the original EBD high resolution medical images ona lower bit depth display device. Consider a lower display bit depth of8-bits resulting in display values 106 between 0 and 255. If, forexample, we consider an EBD of 12-bits then the pixel values can rangefrom 0 to 4095.

Graph 90 shows an example of a transformation comprising a lineartransformation where a minimum EBD pixel value of 0 is converted to 0display value on the low resolution display, and a maximum EBD pixelvalue of 4095 is converted to display value 255 in the low resolutiondisplay. Values in between are converted as shown in linear fashion bydashed lines 102 and 98 where a grayscale EBD value is converted to adisplay resolution. The conversion stretches usable output dynamic rangelinearly over the entire dynamic range of the input data typicallyresulting in a very grayish image. Note that other transformationfunctions, including non-linear functions for example, are sometimesused to enhance contrast or for other purposes.

In a second transformation, called a VOI transformation, only a portionof the range of pixel values of the input image are displayed, as shownin graph 92. The portion of the range of pixel values displayed iscontrolled by the user or viewer by configuring VOI parameters. If theviewer wants to focus on different features in the image, for examplebones are usually in the higher portion of the dynamic range (i.e.higher pixel value) while soft tissue is in the lower dynamic range(i.e. lower pixel value), the transformation may be changed and adifferent graph may be used having a different slope. Graph 92 isdynamic in two aspects: position along the x-axis and slope. Theposition of sliding points (or cut-off points) 94 and 96 can change anddefine the slope of graph 92. For example, as point 94 is moved to theleft or point 96 is moved to the right, the slope decreases. The slopeof 92 increases as point 94 is moved to the right or point 96 is movedto the left. As the slope increases, a smaller range of pixels of theinput image are mapped to the 8-bits of the display. Conversely, as theslope decreases, a larger range of pixels of the input image are mappedto the 8-bits of the display. Note that moving point 94 all the way tothe left and point 96 all the way to the right results in the firsttransformation graph 90. Pixels of the image below the lower cutoffpoint 94 are typically displayed as white (or black) and pixels abovethe higher saturation point 96 are displayed as black (or white).

The conversion stretches usable output dynamic range over the selecteddynamic range of the input data so that the reviewer can focus on thedata in that range and review it in full accuracy. Thus, the dynamicrange of graph 92 enables the emphasis of VOI of the EBD grayscale imagewhile portions to the right of point 96 are at saturation and to theleft of point 94 are at cutoff. This allows a user viewing the EBDgrayscale image on the viewer to enhance the VOI at specific areas ofthe image for better viewing of specific details in an area of interestin the particular image. The image may have multiple areas of interestand may require multiple VOI setups, but since the mechanism makes fullEBD data available, such dynamic modification of the VOI can easily beaccomplished by the reviewer using web browsing components.

In one embodiment, high resolution EBD grayscale images are sent fromthe server to the client via the network mapped (i.e. split,encapsulated, etc.) to the plurality of channels of color pixels. Thispermits browsing software which supports a channel width (i.e. bitdepth) smaller than that of the EBD image, for example, 8-bits/channelimages, to read the image data and process it.

A diagram illustrating one possible mapping of a 12-bit pixel of an EBDgrayscale image to the channels of a color pixel is shown in FIG. 5. The12-bit original EBD grayscale pixel 140 is segmented into an 8-bitportion 142 and a 4-bit portion 144. The least significant 8-bit portion142 is loaded (mapped) into the red 8-bit channel 148 of the color pixel146. The most significant 4-bit portion 144 is loaded (mapped) into thelower four bit positions of the green 8-bit channel 150. The upper fourbits of the green channel and the entire 8-bits of the blue pixel 152are zeroed.

A diagram illustrating one possible mapping of a 16-bit pixel of an EBDgrayscale image to the channels of a color pixel is shown in FIG. 6. The16-bit original EBD grayscale pixel 160 is segmented into a lower 8-bitportion 162 and an upper 8-bit portion 164. The least significant 8-bitportion 162 is loaded (mapped) into the red 8-bit channel 168 of thecolor pixel 166. The most significant 8-bit portion 164 is loaded(mapped) into the 8-bits of the green channel 170. The entire 8-bits ofthe blue pixel 172 are zeroed.

A diagram illustrating one possible mapping of a 24-bit pixel of an EBDgrayscale image to the channels of a color pixel is shown in FIG. 7. The16-bit original EBD grayscale pixel 180 is segmented into a lower 8-bitportion 182, a middle 8-bit portion 184 and an upper 8-bit portion 186.The lower 8-bit portion 182 is loaded (mapped) into the red 8-bitchannel 190 of the color pixel 188. The middle 8-bit portion 184 isloaded (mapped) into the 8-bit green channel 192 and the upper 8-bitportion 186 is loaded (mapped) into the 8-bits of the blue channel 194.In this case, no part of the color pixel 188 is zeroed as all bits areused to convey EBD image data.

Note that the above mappings are provided as an example as othermappings are possible. For example, depending on the depth of the EBDimage pixels, less than 8-bits may be assigned to a channel, e.g., inthe case of a 14-bits/pixel EBD image, 7 bits can be assigned to the redchannel and 7-bits to the green channel. Any desired mapping may be usedas long as both the encoder (server) and decoder (client) have knowledgeof the mapping. Note further, that while the RGB color space was usedfor this exemplary and non-limiting example, other component imagechannels may be used, for example, RGBA, YUV, CMYK and others to achievethe same results.

A diagram illustrating the mapping of an EBD grayscale image to twograyscale images is shown in FIG. 8. In an alternative embodiment, anEBD grayscale image 120, having dimensions W×L pixels, has pixels whereeach pixel 122 has an EBD resolution above a low bit-depth threshold.For example, the EBD resolution is 12-bits while the low bit-depththreshold may be 8-bits.

The EBD image may be doubled in one dimension, to create, for example, aW×2 L image comprising a first image 130 and a second image 132. In thefirst image, a pixel 126 corresponds in its relative location to pixel122 of the EBD grayscale image 120. The pixel 126 assumes the leastsignificant bits of the pixel 124 (122), for example, the eight leastsignificant bits 0 through 7 (134). In the second image 132, a pixel 128corresponds in its relative location to pixel 122 of the EBD grayscaleimage 120. The pixel 128 assumes the most significant bits of the pixel122, for example, the four most significant bits 8 through 11 (136).

In this manner, the browsing software receives what it considers asingle image comprising image elements 130 and 132. A browser is capableof handling this image since it comprises 8-bit data channels. Softwarerunning on the browser, such as ActionScript code, reconstructs theoriginal EBD image from the received image. While splitting the imageinto two sub-images, it is understood by those of ordinary skill in theart that additional sub-images are possible. For example, in the case ofa 24-bit EBD grayscale image, three images can be created eachcorresponding to a group of 8-bits out of the total 24-bits.

A flow diagram illustrating an example EBD image encoding and servingmethod is shown in FIG. 9. Initially, the server first receives arequest for an EBD image (step 220). The EBD image is retrieved from theimage database (step 221). The EBD grayscale image has a resolution(e.g., 12-bits in this example) that is above a threshold resolutionwhich in this example is 8 bits, as explained in more details hereinabove. A first image is created having a bit depth of the leastsignificant 8-bits of the EBD image data (step 222). This can beperformed in the color space as described supra with respect to FIGS. 5,6, 7, or in the grayscale space as explained with respect to FIG. 8.Note that other conversions may also be used without departing from thescope of the mechanism.

A second image containing the higher bits not used for the first imageis then created (step 224). It is noted that while two images aredescribed in this example, additional images may be created. Each imagecreated, however, shall not exceed the transferable bit depth threshold(typically 8 bits). The two images are either (1) transferred to storage(e.g., to the image database) on the server or (2) transferred to arequesting client, either separately or combined (step 226). Thecombination may be a sequence of RGB data, YUV data, sequence oflow-resolution grayscale images such as shown with respect to FIG. 8,etc. In one embodiment, the transferred images are created by the serverupon request from the client or may be partially created by the serverat the time of the request to accommodate the requested viewable area.Other combinations may be implemented too and are contemplated by themechanism.

A flow diagram illustrating an example EBD image encoding is shown inFIG. 10. In a client-server scenario, as described in connection withFIG. 1, the server initially receives an EBD grayscale image (step 200).Once received, the server than maps (i.e. splits, loads, etc.) theextended bit depth pixel data of the EBD image into the plurality ofchannels of a color pixel (step 202). The actual mapping of the pixeldata into channels performed by the server is dependent on the bit depthof the EBD image. Examples of mapping of 12-bit, 16-bit and 24-bit EBDimages were described supra in connection with FIGS. 6, 7, 8,respectively.

Any unused channels or portions of unused channels of the color pixelsare zeroed out (step 204). Note that depending on the particularimplementation (i.e. how the images are stored, the process implementedat the server and client, etc.), step 204 may be optional. For example,the unused channels and portions of unused channels may be left as is orwritten with non-zero data. The resulting color image may be then storedas a file in storage or stored in memory (step 206). In one embodiment,the color image is stored in standard PNG image format to facilitatetransfer over the web to a client. Thus, EBD images are converted tomulti-channel images (e.g., color images) as they are received at theserver and may be stored as files (e.g., color image files) in storageor in memory.

A flow diagram illustrating an example serving method is shown in FIG.11. Clients requesting to view an EBD image generate a request and sendit to the server. Note that alternatively, the server can initiate theserving process without a request for EBD image data from a client. Inresponse to the client request (step 210) (or a trigger from any othersource), the server retrieves the associated image from storage (step212) and sends it to the client over the network (step 214).

Note that depending on the client implementation, the image retrievedand sent to the client may comprise a EBD image or a multi-channel image(e.g., color image). Thus, depending on the implementation, the clientmay request from the server either (1) the EBD image, which in thiscase, the client performs the pixel mapping (in real time, for example)rather than the server before applying a color transform; or (2) thecolor image, wherein the client applies the color transform as themapping was performed a priori by the server. In a push mode, the servermay initiate an image transfer to the client without a request, forexample, when a new image window is opened on the client or in responseto some other trigger source.

Assuming a color image (as opposed to the original EBD image) isrequested by the client, in order to display the VOI transformed EBDgrayscale image in a web browser, regardless of the method oftransmission to the client, a color transform is applied to the channelinformation conveyed in the received color pixel image data. Forexample, in the case the original EBD image was mapped into thered-channel for the least significant bits and the green channel for themost significant bits then the EBD grayscale pixel value P is calculatedas follows:P=R+256*G  (1)

where R represents the value of the contents of the red channel and Grepresents the value of the contents of the green channel. For the caseof a 24-bit EBD grayscale pixel the EBD grayscale pixel value P can becalculated as follows:P=R+256*G+65536*B  (2)

It is appreciated that one skilled in the art can readily adapt theseconversions to the particular mapping used in the encoding and servingprocess to calculate the reconstructed pixel value P.

In another embodiment, the actual reconstruction of the EBD grayscaleimage by calculating the actual value P of the pixels is not performed.Rather, the individual channel contents of the color pixels are used todirectly calculate a display image by applying a color transformation.For illustration purposes only, consider a 16-bit EBD image, whereby thelower 8-bits are mapped to the red channel of a color image and theupper 8-bits are mapped to the green channel. It is assumed the colorchannels are supported by web browsers running a multimedia platformand/or by graphics frameworks. In this example, the blue and alphachannels remain unused and may have been zeroed, depending on theimplementation.

The output value D of the display pixel is calculated utilizing thechannel information contained in the pixel and the two VOI parameters:Width (W) and Center point (C). Consider the case of a 32-bit image withfour channels: Red (R), Green (G), Blue (B) and Alpha (A); and a 16-bitEBD grayscale image where L and H represent the lower and upper bytes ofan unsigned EBD grayscale pixel whose values range between 0 to 65535.At the encoder (e.g., server), the grayscale image data is copied to thecolor image as follows:

-   -   L→R    -   H→G    -   0→B    -   0→A

In the decoder (e.g., the client side), a color transformation isperformed to yield the resulting grayscale image taking in account thedesired C (center point) and W (width) settings (i.e. VOI settings). Theresulting grayscale pixel value D of the color transformed data in thiscase is given by the following expression:

$\begin{matrix}{D = {\frac{256}{W}\left\lbrack {R + {256*G} - \left( {C - \frac{W}{2}} \right)} \right\rbrack}} & (3)\end{matrix}$

Note that the value D is restricted (i.e. clipped) to values betweenzero and 255, and therefore if D≧255 then D=255 and if D≦0 then D=0.

The term

$\begin{matrix}\left( {C - \frac{W}{2}} \right) & (4)\end{matrix}$

represents the value on the x-axis when an input EBD pixel results in anoutput D that is equal to zero (i.e. the left border of the contrastwindow—shown as black). Note that the right border of the contrastwindow (shown as white) is given by

$\left( {C + \frac{W}{2}} \right).$

The term

$\begin{matrix}\frac{256}{W} & (5)\end{matrix}$

represents the VOI transformation slope, where 256 is the bit depthlimitation of the display (e.g., 8-bits). The output value D is thenclipped to be within the allowed range, in this case, between 0 and 255.

Consider the case of a 32-bit image with four channels: R, G, B, A and a24-bit EBD grayscale image where L, M and H represent the lower, middleand upper bytes of an unsigned single EBD grayscale pixel whose valuesrange between 0 to 2²⁴−1. At the encoder (i.e. server), the grayscaleimage data is copied to the color image as follows:

-   -   L→R    -   M→G    -   H→B    -   0→A

On the client side, a color transformation is performed to yield theresulting grayscale image taking in account the desired C (center point)and W (width) settings (i.e. VOI settings) of the user. The resultinggrayscale pixel value D of the color transformed data in this case isgiven by the following expression:

$\begin{matrix}{D = {\frac{256}{W}\left\lbrack {R + {256*G} + {65536*B} - \left( {C - \frac{W}{2}} \right)} \right\rbrack}} & (6)\end{matrix}$

As in the case of 16-bit EBD image, the value D is restricted (i.e.clipped) to values between zero and 255, and therefore if D≧255 thenD=255 and if D≦0 then D=0.

It is noted that the transform presented in Equations 3 through 6 arefor illustration purposes as one skilled in the art can apply numerousother transforms to the received image data. The VOI transform ispresented as one example of how to transform pixels of the receivedimage to the capabilities of the display while taking into accountdesired user viewing settings or parameters. The mechanism contemplatesnumerous other transforms that function to convert or transform imagepixels to the capabilities of the display in accordance with userdesired viewing settings or parameters. Examples include, but are notlimited to, grayscale transformation, display transformation,presentation transformation, etc.

A flow diagram illustrating a first example color image display methodis shown in FIG. 12. In this example, the EBD image was previouslymapped to a color image by the server and written to storage or storedin memory. In this case, the client makes a request for a particular EBDimage. In response, the server retrieves the associated color image(wherein the EBD pixels have been mapped a priori or in real time tocolor pixels encoded in 8-bits/channel) and sends it the client over thenetwork. The client receives the color image data from the server (or,alternatively, via any other suitable means as described infra) (step230). If it is not an EBD encoded image (step 232) the method ends. Ifit is, the desired VOI parameters are then determined (i.e. retrieved,etc.) (step 234). These settings are used in the color transformationthat is applied to the color image.

The color transformation is applied to the color image data wherebydisplay pixels are calculated based on the color image data contents(color pixel channel data) and the VOI parameters (step 236). Theresulting VOI transformed display image is then displayed (step 238).The color transformation is performed using code written in the languageof the multimedia platform or by calls to the graphics framework.

Since the display pixels calculated by the color transform now match theframework and display capabilities, the image can be displayed.Considering a Flash enhanced browser as an example, the received colorimage data is input to a Flash based color transform as a color image.The built-in color transformation capability of the Flash tool, forexample, is used to run commands in Flash ActionScript language totransform the image to a displayable 8-bit grayscale image that takesinto account the specified VOI settings. The Flash code executes thecolor transform as expressed, for example, in Equations 3 or 6. In thecase where the entire grayscale image is transferred to the Flashplayer, it is then possible to reconstruct for display a high qualitygrayscale image, and to allow a reviewing person to focus on any portionand any required detail of the image by appropriately modifying the VOIparameters C and W interactively.

It is noted that in one embodiment, although the EBD image is mapped tothe channels of a color image which is then transmitted to the client,the application of the color transform results in a monochrome imagebeing displayed. To display a grayscale image, the display pixel resultsD of the color transform (e.g., a value 0 to 255) are duplicated in thered, green and blue channels. It is appreciated that display imagesother than grayscale are possible by appropriate allocation of theresulting display pixels D to the RGB channels of the color image.

Note that in an alternative embodiment, only portions of the highresolution image are transferred to the client. For example, portions ofthe image can be transferred in accordance with the particular Regionsof Interest (ROIs) requested. Sending image data for the ROIs onlyreduces the bandwidth required between the client and server and alsoenables the user to more quickly see the portions of interest of theimage.

A flow diagram illustrating a second example color image display methodis shown in FIG. 13. In this method, the color image data is notgenerated a priori nor in real time by the server but rather isgenerated at the client, such as on demand or other timing. Thus, inthis case, the client makes a request to the server for the EBD imagepixel data rather than the color image. In response, the server sendsthe EBD image to the client. The client receives the EBD image data(step 240) from the server (or, alternatively, via any other suitablemeans as described infra).

Once received, the client then performs the encoding of the imagewhereby the extended bit depth pixel data of the EBD image is mapped(i.e. split, loaded, etc.) into the plurality of channels of a colorpixel (step 242). The actual mapping of the pixel data into channels isdependent on the bit depth of the EBD image. Any unused channels orportions of unused channels of the color pixels may be zeroed out (step244). The resulting output is a color image that the client frameworksupports and can manipulate.

The desired VOI parameters are then determined (i.e. retrieved, etc.)(step 246). These settings are used in the color transformation that isapplied to the color image. The color transformation is applied to thecolor image data whereby display pixels are calculated based on thecolor image data contents (color pixel channel data) and the VOIparameters (step 248). The resulting image is then displayed (step 250).The color transformation is performed using code written in the languageof the multimedia platform or graphics framework.

A graph illustrating the operation of the VOI controls C and W is shownin FIG. 14. For example, the graph 110 uses the two VOI parameters:width (W) 114 and center point (C) 112 on the x-axis. These are commonlyreferred to in the art as Window Center (WC) and Window Width (WW),respectively. The slope 116 of the line 110 is given by 256/W, where 256is the bit-depth of the display in this case. Other client devices suchas handhelds may have lower output range while special hardware such asdedicated radiology workstations may have higher output range. The VOIminimum, below which pixels are displayed as black, is

$\left( {C - \frac{W}{2}} \right).$The VOI maximum, above which pixels are displayed as white, is

$\left( {C + \frac{W}{2}} \right).$

Thus, the EBD image server mechanism converts the EBD grayscale image(i.e. its pixels mapped) to, for example, a color image in which eachchannel of the color image holds a partial range of the bits of the EBDgrayscale image. Once received at the client, the color image is loadedinto a multimedia platform or graphics framework capable ofprogrammatically processing and transforming the color image for displayby application of a color transform as described supra. The colortransform is defined in accordance with a user's desired VOI (i.e. W andC settings). The color transform is applied to the received image datato convert the received color channel information to a grayscaleresolution capable of being displayed by the framework, which istypically 8-bits, but which may be other than 8-bits. The resultantgrayscale image is then displayed.

To illustrate the principles of the mechanism, example code is writtenin ActionScript language for the Adobe Flash Player. When implementedusing ActionScript, the complete color transformation of Equation 3 isrepresented by a 4×5 matrix operator as in Equation 7 below:

$\begin{matrix}{D = {\begin{bmatrix}{256/W} & {66536/W} & 0 & 0 & {{\left( {{W/2} - C} \right)/W}*256} \\{256/W} & {66536/W} & 0 & 0 & {{\left( {{W/2} - C} \right)/W}*256} \\{256/W} & {66536/W} & 0 & 0 & {{\left( {{W/2} - C} \right)/W}*256} \\0 & 0 & 0 & 1 & 0\end{bmatrix}P}} & (7)\end{matrix}$

Where D is a display image color pixel represented as a 4 elementsvector having each element a color channel (R, G, B, A) and P is a colorpixel in a color image created from an EBD image using the samerepresentation (described infra). This color transform matrix is thenattached to a MovieClip as a BitmapFilter as detailed in the followingcode excerpt. The SetVoiLut16 function applies the color transform to acolor image held in memory by the input parameter mc:

Listing 1: Function to apply a color transform to an input color imagepublic function SetVoiLut16 (mc:MovieClip) : void { var matrix:Array =new Array( ); // fill the matrix elements of the first line for the redchannel matrix = matrix.concat([256/ww, 65536/ww, 0, 0,(ww/2−wc)/ww*256]); // fill the matrix elements of the second line forthe green channel matrix = matrix.concat([256/ww, 65536/ww, 0, 0,(ww/2−wc)/ww*256]); // fill the matrix elements of the third line forthe blue channel matrix = matrix.concat([256/ww, 65536/ww, 0, 0,(ww/2−wc)/ww*256]); // fill the matrix elements of the fourth line forthe alpha channel (zeroed out) matrix = matrix.concat([0, 0, 0, 1, 0]);// generate the new filter (i.e. color transform) varfilter:BitmapFilter = new ColorMatrixFilter(matrix); // apply the newfilter mc.filters = new Array(filter); }

Note that in Listing 1 above, the variable ‘ww’ represents the windowwidth W and the variable ‘we’ represents the window center C, asdescribed supra. Note further that this technique, as describedhereinabove, can be implemented in a standalone client station or in aclient-server architecture. In one embodiment, a user may adjust the VOItransform, as shown in connection with FIGS. 4 and 14, to continuouslychange the displayed image.

In one embodiment, the color transform (e.g., Equations 3 and 6) can beapplied on the client side by a graphic processing unit (GPU) on aclient computer, using multimedia platform code or graphics frameworkcode. This makes execution of the color transform extremely efficient interms of computing resources and very quick such that the entire colortransformation is perceived as being executed in real time in the eyesof the user. This enables the browser multimedia platform to perform thecolor transformation virtually instantly even while the userinteractively modifies VOI settings. This allows for a seamlessadjustment by the reviewer to obtain an optimized viewing setting for anarea of interest in the image. The continuously real-time adjustmentholds true for either a single image (such as an x-ray) as well as asequence of grayscale images (or video stream) that are displayed in aloop, such as in catheterization images (XA), computed tomography (CT)images or magnetic resonance imaging (MRI) images.

It is noted that while an exemplary multimedia platform framework hasbeen discussed (i.e. Macromedia Flash), other multimedia platformsand/or graphics frameworks, such as Silverlight, Java, etc. as well asother non-Internet based frameworks such as GDI, GDK, DirectDraw,Quartz, DirectX, OpenGL, OpenMAX, etc. may be used without departingfrom the scope of the mechanism.

Therefore, in one embodiment the mechanism is operative to transfer theEBD image data from a server to a client (for example a Flash client) byrepackaging the original EBD image in a manner that is supported by theFlash client (i.e. mapping to a color image). In another embodiment, anEBD image is provided to the client “as is”, or is read from a localfile, local memory, thumb drive, etc. on the computer and both themapping of pixel data as well as the color transformation of theresulting color image as supported by the Flash client takes placelocally. The client is capable of performing the color transformation asdescribed supra, in order to display high bit-depth images. Thus, it isnot critical how the client receives the EBD image data or color imagedata. The source for the EBD or color image data may be from anysuitable source, including for example, a remote server, a remotedatabase, local memory of a client computer, local storage of a clientcomputer, local memory of a mobile communications device, local storageof a mobile communications device, etc.

In another embodiment, a EBD source image is divided into multiplelevels of resolutions. For example, if the input is an image of2048×2048 pixels each pixel having an EBD of 12-bits, then, for example,a pyramid of images is created where a next level comprises four imageseach being 1024×1024, wherein each pixel has an EBD of 12-bits, and soon. For each grayscale image, a corresponding image is created inaccordance with the principles of the mechanism described supra. Uponviewing, for each view position, the correct level of resolution isidentified and the relevant part of the image holding the viewable area(typically smaller than the entire image) are transferred. In thecurrent instance this involves the transfer of for example the colorimages that were loaded with the 12-bits of grayscale data of the viewarea in accordance with the principles of the mechanism. This permitsthe transfer and display of part of the image representing the relevantview position, which may well be much smaller than the full size of theEBD image, thus reducing the required transmission bandwidth and/or timeto display the image.

The corresponding structures, materials, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of one or more embodimentsof the invention. The embodiments were chosen and described in order tobest explain the principles and the practical application, and to enableothers of ordinary skill in the art to understand the one or moreembodiments of the invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

It is intended that the appended claims cover all such features andadvantages of the invention that fall within the spirit and scope of thepresent invention. As numerous modifications and changes will readilyoccur to those skilled in the art, it is intended that the invention notbe limited to the limited number of embodiments described herein.Accordingly, it will be appreciated that all suitable variations,modifications and equivalents may be resorted to, falling within thespirit and scope of the present invention.

What is claimed is:
 1. A method of encoding an extended bit depth (EBD)image, said method comprising: receiving EBD image data; mapping saidEBD image data into a plurality of channels of pixels of a multi-channelimage for transporting over a network; and wherein the bit depth of saidEBD image is unchanged by said mapping.
 2. The method according to claim1, wherein said multi-channel image is stored in a storage system or inmemory.
 3. The method according to claim 1, wherein the bit depth ofsaid EBD image is greater than that of a channel of a client framework.4. The method according to claim 1, wherein said extended bit depth isgreater than 8-bits.
 5. The method according to claim 1, wherein thechannel bit depth of said multi-channel image is less than or equal tothat of the channels of a client framework.
 6. The method according toclaim 1, wherein each channel comprises 8-bits.
 7. The method accordingto claim 1, wherein the bits of said EBD image pixels are divided oversaid plurality of channels, each channel having a bit depth less than orequal to that of the channels of a client framework.
 8. The methodaccording to claim 1, wherein said channels correspond to a color schemeselected from the group consisting of: RGB, YUV, RGBA.
 9. The methodaccording to claim 1, further comprising zeroing out unused channels andunused portions of channels.
 10. A method of encoding an extended bitdepth (EBD) image, said method comprising: receiving EBD image datahaving a bit depth greater than 8-bits; mapping said EBD image data intoa plurality of 8-bit channels of pixels of a multi-channel image fortransporting over a network, said multi-channel image having a combinedbit depth equal to or greater than that of said EBD image; and whereinthe bit depth of said EBD image is unchanged by said mapping.
 11. Amethod of serving extended bit depth (EBD) images to one or moreclients, said method comprising: retrieving said EBD image data fromstorage; transmitting said EBD image data to said client over a network,wherein said EBD image is mapped to a plurality of channels fortransport over said network; wherein the bit depth of said EBD image isgreater than that of a channel of said client; and wherein the bit depthof said EBD image is unchanged by said mapping.
 12. The method accordingto claim 11, wherein the retrieving and transmitting of said EBD imageis initiated in response to a request for EBD image data received fromsaid client.
 13. The method according to claim 11, wherein said extendedbit depth is greater than 8-bits.
 14. The method according to claim 11,wherein each channel of said multi-channel image comprises 8-bits.
 15. Amethod of serving extended bit depth (EBD) images to one or moreclients, said method comprising: transmitting multi-channel image datacorresponding to said EBD image data over a network, said EBD image datamapped into a plurality of channels of pixels of said multi-channelimage for transporting over said network; and wherein the bit depth ofsaid EBD image is unchanged by said mapping.
 16. The method according toclaim 15, wherein transmitting said EBD image is initiated in responseto a request for EBD image data received from said client.
 17. Themethod according to claim 15, wherein the bit depth of said EBD image isgreater than that of a channel of said client.
 18. The method accordingto claim 15, wherein said extended bit depth is greater than 8-bits. 19.The method according to claim 15, wherein the bit depth of each channelof said multi-channel image is less than or equal to that of thechannels of said client.
 20. The method according to claim 15, whereineach channel of said multi-channel image comprises 8-bits.
 21. Themethod according to claim 15, wherein the channel bit depth of saidmulti-channel image is less than or equal to that of the channels of aclient framework.
 22. The method according to claim 15, wherein saidchannels correspond to a color scheme selected from the group consistingof: RGB, YUV, RGBA.
 23. A server for serving extended bit depth imagesto one or more clients, comprising: a storage system for storingmulti-channel images, each multi-channel image generated by mappingcorresponding EBD image data into a plurality of channels of amulti-channel image for transporting over a network, wherein the bitdepth of said EBD image is unchanged by said mapping; a networkinterface operative to connect said server to said network; a memoryincluding a program operative to receive requests for EBD images fromclients, retrieve multi-channel images corresponding to said requestedEBD images from said storage system, and transmit said multi-channelimages over said network to the requesting client; and a processor forexecuting said program.
 24. The server according to claim 23, whereinthe bit depth of said EBD image is greater than that of a channel ofsaid client.
 25. The server according to claim 23, wherein said extendedbit depth is greater than 8-bits.
 26. The server according to claim 23,wherein the channel bit depth of said multi-channel image is less thanor equal to that of the channels of said client.
 27. The serveraccording to claim 23, wherein each channel of said multi-channel imagecomprises 8-bits.
 28. The server according to claim 23, wherein the bitsof said EBD image pixels are divided over said plurality of channels,each channel having a bit depth less than or equal to that of thechannels of said client.
 29. The server according to claim 23, whereinsaid channels correspond to a color scheme selected from the groupconsisting of: RGB, YUV, RGBA.
 30. A server for serving extended bitdepth images to one or more clients, comprising: a storage system forstoring multi-channel images, each multi-channel image generated bymapping corresponding EBD image data into a plurality of channels of amulti-channel image for transporting over a network, wherein the bitdepth of said EBD image is unchanged by said mapping; a server operativeto: retrieve a multi-channel image corresponding to said EBD image fromsaid storage system; and transmit said multi-channel image to saidclient over said network.
 31. The server according to claim 30, whereinretrieving and transmitting said EBD image is initiated in response to arequest from said client for EBD image data.
 32. The server according toclaim 30, wherein the bit depth of said EBD image is greater than thatof a channel of said client.
 33. The server according to claim 30,wherein said extended bit depth is greater than 8-bits.
 34. The serveraccording to claim 30, wherein the channel bit depth of saidmulti-channel image is less than or equal to that of the channels ofsaid client.
 35. The server according to claim 30, wherein each colorchannel comprises 8-bits resulting in a multi-channel image a webbrowser is capable of handling.
 36. The server according to claim 30,wherein the bits of said EBD image pixels are divided over saidplurality of channels, each channel having a bit depth less than orequal to that of the channels of said client.
 37. The server accordingto claim 30, wherein said channels correspond to a color scheme selectedfrom the group consisting of: RGB, YUV, RGBA.
 38. A computer programproduct characterized by that upon loading it into computer memory amethod of serving extended bit depth (EBD) images to one or more clientsis executed, the computer program product comprising: a non-transitorycomputer usable medium having computer usable program code embodiedtherewith, the computer usable program code comprising: computer codeconfigured to retrieve multi-channel image data corresponding to saidEBD image data from storage, said EBD image data mapped a priori into aplurality of channels of said multi-channel image for transporting overa network, wherein the bit depth of said EBD image is unchanged by saidmapping; and computer usable code configured to transmit saidmulti-channel image data to said requesting client over said network.